Programmable Relations for Managing Change During Software Development
نویسندگان
چکیده
Management of changes during software development is a central problem in software object management. Successful propagation of changes requires effective use of relationships among objects. The structure of relationships identifies the direction, order, and extent of change propagation, while the semantics of relationships indicate the kinds of changes to be made. Many data models proposed for software object management offer some useful features for controlling change but lack others. Configuration control and version management systems support some useful relationships and types but are too specialized. Object-oriented systems are more general, but while they may support derived relationships they represent those relationships only as attributes of objects. Conversely, entity-relationship models provide for the independent representation of extensional relationships but typically do not support derived relationships fully. The relational model also represent relationships separately, but efficiency and restrictions to atomicvalued attributes have been problems for software object management. We propose a model of programmable relations over composite objects. This general model allows relationships among objects to be represented explicitly, and it enables derivation and other processes to be programmed into the implementation of relations. Programmable implementations, combined with an operationally-efficient interface, should help to overcome the performance problems of conventional relational systems. Based on this model we have developed the language APPL/ A, an extension of Ada that includes active, programmable relations plus mechanisms for forward and backward inferencing over relations. We introduce APPL/ A and present an example system of relations to illustrate relation specifications and the opportunities for alternative relation implementations.
منابع مشابه
Structures and processes for managing model-metamodel co-evolution
Software changes over time. During the lifetime of a software system, unintended behaviour must be corrected and new requirements satisfied. Because software changes are costly, tools for automatically managing change are commonplace. Contemporary software development environments can automatically perform change management tasks such as impact analysis, refactoring and background compilation. ...
متن کاملA framework for architecture-centric practices integration into agile software development [APIASD]
The need for having a clear roadmap for a software product developed using an agile method is a reasonable implication of the agilists’ tendency of establishing a planning-driven process rather than a plan-driven one, and chasing and welcoming change rather than limiting it. Building an initial architecture for a product will serve as the railway for a planning process that can enable managing ...
متن کاملToward Megamodels at Runtime
In model-driven software development a multitude of development models that are related with each other are used to systematically realize a software system. This results in a complex development process since these models and the relations between these models have to be managed. Similar problems appear when following a model-driven approach for managing software systems at runtime. A multitud...
متن کاملField Programmable Gate Array–based Implementation of an Improved Algorithm for Objects Distance Measurement (TECHNICAL NOTE)
In this work, the design of a low-cost, field programmable gate array (FPGA)-based digital hardware platform that implements image processing algorithms for real-time distance measurement is presented. Using embedded development kit (EDK) tools from Xilinx, the system is developed on a spartan3 / xc3s400, one of the common and low cost field programmable gate arrays from the Xilinx Spartan fami...
متن کاملThe Role of Models and Megamodels at Runtime
In model-driven software development a multitude of interrelated models are used to systematically realize a software system. This results in a complex development process since the models and the relations between the models have to be managed. Similar problems appear when following a model-driven approach for managing software systems at runtime. A multitude of interrelated runtime models are...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014